package me.raih.service;

import me.raih.pojo.po.Appointment;
import me.raih.pojo.vo.PageBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author Raih
 * @Time 2021/1/28  18:53
 *
 * 预约商品的接口
 */
public interface AppointmentService {

    /**
     * 改变用户的商品状态
     * @param username 用户名
     * @param waresNo 商品码
     * @return 改变状态成功
     */
    int changeUserWaresStatus(String username,String waresNo);


    /**
     * 本用户是否预约了这件商品
     * @param username 用户名
     * @param waresNo 商品码
     * @return 预约了吗？
     */
    int findAppointmentStatus(String username, String waresNo);

    /**
     * 查看本商品共被预约了多少次
     * @param waresNo 商品码
     * @return 多少次呀
     */
    int waresAppointmentCount(String waresNo);

    /**
     * 找 用户预约的商品
     * @param username 用户
     * @return 商品集合
     */
    List<Appointment> findAppointmentByUsername(@Param("username") String username);

    /**
     * 查找 预约商品和用户的集合
     * @param currentPage  当前页
     * @param pageSize 页面大小
     * @param param 参数
     * @return pageBean 关于map的集合
     */
    PageBean<Object> findAppointmentList(int currentPage, int pageSize, String param, int bigPage);
}
